約 6,524,383 件
https://w.atwiki.jp/touhoukashi/pages/4377.html
【登録タグ F おてんば恋娘 イオシス 山本椛 曲 東方氷雪歌集】 【注意】 現在、このページはJavaScriptの利用が一時制限されています。この表示状態ではトラック情報が正しく表示されません。 この問題は、以下のいずれかが原因となっています。 ページがAMP表示となっている ウィキ内検索からページを表示している これを解決するには、こちらをクリックし、ページを通常表示にしてください。 /** General styling **/ @font-face { font-family Noto Sans JP ; font-display swap; font-style normal; font-weight 350; src url(https //img.atwikiimg.com/www31.atwiki.jp/touhoukashi/attach/2972/10/NotoSansCJKjp-DemiLight.woff2) format( woff2 ), url(https //img.atwikiimg.com/www31.atwiki.jp/touhoukashi/attach/2972/9/NotoSansCJKjp-DemiLight.woff) format( woff ), url(https //img.atwikiimg.com/www31.atwiki.jp/touhoukashi/attach/2972/8/NotoSansCJKjp-DemiLight.ttf) format( truetype ); } @font-face { font-family Noto Sans JP ; font-display swap; font-style normal; font-weight bold; src url(https //img.atwikiimg.com/www31.atwiki.jp/touhoukashi/attach/2972/13/NotoSansCJKjp-Medium.woff2) format( woff2 ), url(https //img.atwikiimg.com/www31.atwiki.jp/touhoukashi/attach/2972/12/NotoSansCJKjp-Medium.woff) format( woff ), url(https //img.atwikiimg.com/www31.atwiki.jp/touhoukashi/attach/2972/11/NotoSansCJKjp-Medium.ttf) format( truetype ); } rt { font-family Arial, Verdana, Helvetica, sans-serif; } /** Main table styling **/ #trackinfo, #lyrics { font-family Noto Sans JP , sans-serif; font-weight 350; } .track_number { font-family Rockwell; font-weight bold; } .track_number after { content . ; } #track_args, .amp_text { display none; } #trackinfo { position relative; float right; margin 0 0 1em 1em; padding 0.3em; width 320px; border-collapse separate; border-radius 5px; border-spacing 0; background-color #F9F9F9; font-size 90%; line-height 1.4em; } #trackinfo th { white-space nowrap; } #trackinfo th, #trackinfo td { border none !important; } #trackinfo thead th { background-color #D8D8D8; box-shadow 0 -3px #F9F9F9 inset; padding 4px 2.5em 7px; white-space normal; font-size 120%; text-align center; } .trackrow { background-color #F0F0F0; box-shadow 0 2px #F9F9F9 inset, 0 -2px #F9F9F9 inset; } #trackinfo td ul { margin 0; padding 0; list-style none; } #trackinfo li { line-height 16px; } #trackinfo li nth-of-type(n+2) { margin-top 6px; } #trackinfo dl { margin 0; } #trackinfo dt { font-size small; font-weight bold; } #trackinfo dd { margin-left 1.2em; } #trackinfo dd + dt { margin-top .5em; } #trackinfo_help { position absolute; top 3px; right 8px; font-size 80%; } /** Media styling **/ #trackinfo .media th { background-color #D8D8D8; padding 4px 0; font-size 95%; text-align center; } .media td { padding 0 2px; } .media iframe nth-of-type(n+2) { margin-top 0.3em; } .youtube + .nicovideo, .youtube + .soundcloud, .nicovideo + .soundcloud { margin-top 0.75em; } .media_section { display flex; align-items center; text-align center; } .media_section before, .media_section after { display block; flex-grow 1; content ; height 1px; } .media_section before { margin-right 0.5em; background linear-gradient(-90deg, #888, transparent); } .media_section after { margin-left 0.5em; background linear-gradient(90deg, #888, transparent); } .media_notice { color firebrick; font-size 77.5%; } /** Around track styling **/ .next-track { float right; } /** Infomation styling **/ #trackinfo .info_header th { padding .3em .5em; background-color #D8D8D8; font-size 95%; } #trackinfo .infomation_show_btn_wrapper { float right; font-size 12px; user-select none; } #trackinfo .infomation_show_btn { cursor pointer; } #trackinfo .info_content td { padding 0 0 0 5px; height 0; transition .3s; } #trackinfo .info_content ul { padding 0; margin 0; max-height 0; list-style initial; transition .3s; } #trackinfo .info_content li { opacity 0; visibility hidden; margin 0 0 0 1.5em; transition .3s, opacity .2s; } #trackinfo .info_content.infomation_show td { padding 5px; height 100%; } #trackinfo .info_content.infomation_show ul { padding 5px 0; max-height 50em; } #trackinfo .info_content.infomation_show li { opacity 1; visibility visible; } #trackinfo .info_content.infomation_show li nth-of-type(n+2) { margin-top 10px; } /** Lyrics styling **/ #lyrics { font-size 1.06em; line-height 1.6em; } .not_in_card, .inaudible { display inline; position relative; } .not_in_card { border-bottom dashed 1px #D0D0D0; } .tooltip { display flex; visibility hidden; position absolute; top -42.5px; left 0; width 275px; min-height 20px; max-height 100px; padding 10px; border-radius 5px; background-color #555; align-items center; color #FFF; font-size 85%; line-height 20px; text-align center; white-space nowrap; opacity 0; transition 0.7s; -webkit-user-select none; -moz-user-select none; -ms-user-select none; user-select none; } .inaudible .tooltip { top -68.5px; } span hover + .tooltip { visibility visible; top -47.5px; opacity 0.8; transition 0.3s; } .inaudible span hover + .tooltip { top -73.5px; } .not_in_card span.hide { top -42.5px; opacity 0; transition 0.7s; } .inaudible .img { display inline-block; width 3.45em; height 1.25em; margin-right 4px; margin-bottom -3.5px; margin-left 4px; background-image url(https //img.atwikiimg.com/www31.atwiki.jp/touhoukashi/attach/2971/7/Inaudible.png); background-size contain; background-repeat no-repeat; } .not_in_card after, .inaudible .img after { content ; visibility hidden; position absolute; top -8.5px; left 42.5%; border-width 5px; border-style solid; border-color #555 transparent transparent transparent; opacity 0; transition 0.7s; } .not_in_card hover after, .inaudible .img hover after { content ; visibility visible; top -13.5px; left 42.5%; opacity 0.8; transition 0.3s; } .not_in_card after { top -2.5px; left 50%; } .not_in_card hover after { top -7.5px; left 50%; } .not_in_card.hide after { visibility hidden; top -2.5px; opacity 0; transition 0.7s; } /** For mobile device styling **/ .uk-overflow-container { display inline; } #trackinfo.mobile { display table; float none; width 100%; margin auto; margin-bottom 1em; } #trackinfo.mobile th { text-transform none; } #trackinfo.mobile tbody tr not(.media) th { text-align left; background-color unset; } #trackinfo.mobile td { white-space normal; } document.addEventListener( DOMContentLoaded , function() { use strict ; const headers = { title アルバム別曲名 , album アルバム , circle サークル , vocal Vocal , lyric Lyric , chorus Chorus , narrator Narration , rap Rap , voice Voice , whistle Whistle (口笛) , translate Translation (翻訳) , arrange Arrange , artist Artist , bass Bass , cajon Cajon (カホン) , drum Drum , guitar Guitar , keyboard Keyboard , mc MC , mix Mix , piano Piano , sax Sax , strings Strings , synthesizer Synthesizer , trumpet Trumpet , violin Violin , original 原曲 , image_song イメージ曲 }; const rPagename = /(?=^|.*
https://w.atwiki.jp/feedback1970/pages/21.html
vsf_sysutil_activate_noblock source sysutil.c line 701 - 716 function 701 void 702 vsf_sysutil_activate_noblock(int fd) 703 { 704 int retval; 705 int curr_flags = fcntl(fd, F_GETFL); 706 if (vsf_sysutil_retval_is_error(curr_flags)) 707 { 708 die("fcntl"); 709 } 710 curr_flags |= O_NONBLOCK; 711 retval = fcntl(fd, F_SETFL, curr_flags); 712 if (retval != 0) 713 { 714 die("fcntl"); 715 } 716 }
https://w.atwiki.jp/oblivion1/pages/60.html
原文 Oblivion/新しいHair Meshの作成 This tutorial is intended as an starter aid to those wanting to model Oblivion hair meshes. It does not claim any expertise - I have mostly worked with two existing hair meshes - cropped (style07), and Mohican (ElfMohawk). It relied on key info provided by BetterBodies forum moders (particularly Corwyn). 基本的なhair meshの生成 Blenderによってエクスポートされる既存の20.0.0.4.メッシュを使うことは、可能かもしれません。しかし、それらは重要なデータが不足します: NiStringExtraData - a reference to an insertion point "Bip01 Head" Tangent Space data Vertex coloring data (not supported by the OBJ format, Blender, or fully by Nifskope) NiTexturingProperty - its not clear to me what this is for cause all the switches are off 私は既存のhair meshを使いました。meshの選択は、重要になります(後ほど)。 Create your hair mesh (I used theirs as starters). To create a Bald mesh just dump a small rendered cube inside the original mesh, and delete it (maybe you could get away with no mesh at all). Export as a OBJ file. Load the Bethesda hair NIF into Nifskope and import your OBJ file. Save under a new file name. Your mesh should then be picked up by TES. It will render, but not change color or shape. If you want your hair to change shape, you must provide (renamed) egm and tri files. These contain hair animation data. Naturally the results of the shape change can look like a punks tea party, if they work at all. If you want the hair to change color you must activate vertex coloring; and that s when the trouble starts. It appears that only one mesh/texture can be imported from the OBJ file. Any other meshes in the file will be merged into one. Of cause, this may be a flaw in my OBJ exporter - I don t know. You can put in other items other than hair. However given the restriction on submeshes/extra textures, and the lack of bone support (I found that my particular addon bits did not move with correcly with changes in head geometry) this is an NPC only option (I ve only tried this in the TES, not in the game). It was better in Morrowind - so much for me doing spectacles for my Player. Setup in TES - add the mesh to the hair style list options (Make it playable), and then add the style to the race menu options. Run the game, activate console, type in ShowRaceMenu, select the hair mesh, exit to main chargen "Do you want to be a...?" screen, activate save/load screen, save game, reload game, and use the new haircut. How to color the hair workarounds Hair coloring depends on the use of (up to) 4 (implied) texture maps AND vertex coloring. Vertex coloring is a way of coloring a mesh without a texture by interpolating between vertices. The cropped mesh uses what may be default settings - 255 for each node. The mohawk mesh is a complex folded mesh that uses various color settings - possibly for special effect. Blender dose not support the vertex color array needed. Yes it has a vertex coloring facility, but it don t work here - either cause the OBJ format don t use it, or cause the NIF importer/exporter don t. My tests suggest both. That s why you have to chose the correct Bethesda hair mesh NIF to alter. Import your OBJ into the NIF Activate vertex coloring - its a flag in the trishape block at the end of the NIF. Save your NIF - and get a warning message and a totally corrupt NIF The problem is that the number of nodes in the mesh must equal the number of entries in the original (unchanged) vertex array. You will have to either cut out vertices, or add a dummy mesh large enough to supply the extra vertices - NifSkope and the game don t seem to care where they come from, or that there is more than one mesh in the hair (extra materials could be another matter) Re-save the new NIF. If you cannot save the NIF correctly (warning message by NifSkope about invalid array size), it is cause the NIF has degraded (I presume that there has been info loss somewhere and it has become corrupt). Load in the original Bethesda NIF and reload the OBJ , reset the color flag, and try again. It will then save ok (well it does for me). Having done that your mesh should display in the game ok, if it uses the mohawk (gray.dds) texture. If it uses the cropped texture you could be in big trouble. The cropped (short.dds) texture complex contains gaps and transparencies that can show up in the mesh - badly - what shows up differs between (my editor), TES, and the Game. Increasing mesh density along the X axis (may have) removed the problem from my original mesh (I needed a mesh 50% thinner than my original). Trying to remove the problem from the original was pointless - I even duplicated the mesh, shrank it inside the original - no effect, even when the texture was rotated 180 - so it looks like meshes inside meshes are not rendered. The solution was to use the gray.dds map (repositioned), and apply a 90% transparency - the AlphaProperty transparency flags are already pre set in the NIF (and to more than the mere basic 237 needed), so just alter the alpha value. Its not as good as the correct texturing, but adequate. Try 75% transparency for very dense (rendered) textures. Ambient lighting conditions also have an effect.
https://w.atwiki.jp/mydefrag_jp/pages/21.html
原文 http //www.mydefrag.com/Scripts-FileActions.html 更新日 2010/12/12 (ここで取り扱っている内容の原文をコピーした日付です) AddGap Set the position of the beginning of the next zone. This command is commonly used to create a gap at the end of the zone, making the zone bigger than necessary for the files in the zone, but the command can also be used to position a zone anywhere on disk. The command will be skipped (not executed) if the zone is empty (no files are selected by the FileBoolean). The NUMBER specifies the beginning of the next zone, an absolute position on the disk. Usually it will be the ZoneEnd plus a number of bytes, but you can specify a different formula. The command will do nothing if the NUMBER is negative. It is an absolute position on disk, and a negative number would be before the beginning of the disk. The program will automatically vacate the gap between the current end of the zone and the NUMBER. It will not vacate if the DoNotVacate option is specified, or if the NUMBER is lower than current end of the zone (negative gap). If all the next zones are sorted zones (using one of the SortBy fileactions) then DoNotVacate can be used, it will save some unnecessary data movements. The * FastFill and * MoveDownFill fileactions will only move files down, never up, so files that are in a DoNotVacate gap will be left in the gap. Syntax AddGap(NUMBER [, DoNotVacate]) Example # Add a gap of 1% of the free size of the volume. AddGap(ZoneEnd + VolumeFree * 0.01) # Same, but do not vacate. AddGap(ZoneEnd + VolumeFree * 0.01 , DoNotVacate) # Add a gap 1% of the volume size AddGap(ZoneEnd + VolumeSize * 0.01) # Add a gap of 1000 clusters. AddGap(ZoneEnd + 1000 * BytesPerCluster) # Add a gap 10% of the size of the MFT. AddGap(ZoneEnd + MftSize * 0.1) See also MakeGap FileActions Defragment Defragment all the selected items. Items that are not fragmented are ignored, they are not moved. Fragmented files are moved to somewhere above the beginning of the zone, possibly outside the zone. Defragment() will not optimize the zone, it does not move all files to the zone. To do that you need to use another fileaction, for example FastFill(). But not a SortBy fileaction, because those will already defragment all items and Defragment() would then do double work. There are 2 defragmentation algorithms to choose from. The * Fast algorithm will only defragment a file if it can find a gap big enough for the entire file. It will skip files that are too big for any gap. The default defragmentation algorithm will not give up so easily, if it encounters a big file and cannot find a big gap then it will try to make a big gap by shuffling other files around. This can take a lot of time. If the * IgnoreWrapAroundFragmentation setting is active (the default) then wrap-around fragmentation is not defragmented. Syntax Defragment(OPTIONS) Options Fast ChunkSize Example FileSelect .... FileActions Defragment() FileEnd See also IgnoreWrapAroundFragmentation FileSelect FileBoolean FileActions FastFill Fill gaps as best as possible with items from above the gap, in other words, consolidate free space. FastFill is a very fast and effective way to reduce the number of gaps on the disk, and at the same time move files as far to the beginning of the disk as possible. FastFill tries to perfectly fill gaps by looking for combinations of files. If no combination can be found and without the * WithShuffling option then the largest file that fits in the gap will be used, leaving a smaller gap. If all files above the gap are larger than the gap then the gap cannot be filled and will be skipped. If the WithShuffling option is specified then the file just above the gap will be moved away, making the gap bigger. The program will then try again to find a perfect fit. When looking for a combination of perfectly fitting files the program does not test all combinations of all files. It has to limit itself because the number of permutations for even a small set of files is astronomical. There is a tendency for small files to migrate to the beginning of the zone and large files to the end. This is because small files have a better chance to fit into a gap and are therefore more likely to move down. FastFill will destroy the ordering of the files. If the zone was optimized earlier (in another MyDefrag session, running another script) by one of the SortBy actions, then consider using * MoveDownFill instead. It is slower but it will preserve the ordering. Syntax FastFill() Options WithShuffling Example FileSelect .... FileActions # Fill gaps with items from above. FastFill() FileEnd See also WithShuffling MoveDownFill ForcedFill FileSelect FileBoolean FileActions ForcedFill Move all data as fast as possible to the beginning of the zone. The function will take the highest data on disk and split it into fragments that perfectly fill the gaps at the beginning of the zone, until the first gap is after the last data. Syntax ForcedFill() Example FileSelect .... FileActions # Fill gaps with items from above. ForcedFill() FileEnd See also MoveDownFill FastFill FileSelect FileBoolean FileActions MoveDownFill Fill all the gaps by moving (shifting) items to the beginning of the zone. This will perfectly fill all the gaps and will preserve the sorting order of the files. A tiny little gap somewhere at the beginning of the zone will cause all items above the gap to be moved (shifted). In this case MoveDownFill() is only a little faster than a full SortBy***(). However, if the gap happens to be further into the zone then MoveDownFill() will save time. Syntax MoveDownFill() Example FileSelect .... FileActions # Fill gaps with items from above. MoveDownFill() FileEnd See also FastFill ForcedFill FileSelect FileBoolean FileActions MoveToEndOfDisk Move the selected files to the end of the disk. More specifically for every selected file try to find a gap above that file big enough to hold the file, and move the file to the end of that gap. If no gap is found then skip the file. Files are automatically defragmented when they are moved. This action is relatively slow, best to be used for big files only. It s because the Microsoft defragmentation API is not very efficient in finding the last gap suitable for a file. The end of the disk is the slowest part of the disk. Many people want to move the spacehogs zone (with less important files that take up a lot of space) to the end of the disk, leaving a huge empty gap between the regular files and the spacehogs. In my opinion this is a waste of perfectly good harddisk space and makes the spacehogs slower than they need to be. This is why the standard MyDefrag scripts do not move the spacehogs to the end of the disk. Syntax MoveToEndOfDisk() Example FileSelect .... FileActions # Move files to the end of the disk. MoveToEndOfDisk() FileEnd See also FileSelect FileBoolean FileActions MoveUpToZone Move the selected files to above the beginning of the zone. Files that are already above the beginning of the zone are not moved. If there is no gap above the beginning of the zone that is big enough for a particular file, then the file is not moved. Files are automatically defragmented when they are moved. This action is designed to be used in cases where the beginning of the zone has been moved upwards by a * MakeGap volumeaction and the other fileactions would not move all the files. An example is the * FastFill fileaction, which only moves files down, never up, so files could stay before the beginning of the zone. MoveUpToZone() is not needed in zones that use a SortBy fileaction, because those actions will already move all files to the zone, even files that are before the beginning of the zone. Syntax MoveUpToZone() Example # Place the next zone at 50% of the volume. MakeGap(VolumeSize * 0.5, DoNotVacate) # Select files for the zone. FileSelect .... FileActions # Make sure all files are above the beginning of the zone. MoveUpToZone() # FastFill gaps in the zone with files from above the zone. FastFill() FileEnd See also FileSelect FileBoolean FileActions PlaceNtfsSystemFiles Place the selected items and sort alphabetically by their full pathname, ascending from A to Z or descending from Z to A. This function is intended to be used together with the * SelectNtfsSystemFiles fileboolean. It is basically the same as the * SortByName fileaction, except that files can be placed inside the NTFS reserved area. MyDefrag does not (cannot) change the size or location of the NTFS reserved area. The NUMBER parameter is only used to create a gap after the MFT. When Windows is booted it will automatically re-allocate the NTFS area. First it tries to place the area just after the MFT, using whatever free gap is there up to a maximum of 12.5% of the size of the volume. If there is no gap after the MFT then Windows places the area elsewhere on disk. Windows will also reset the area when the disk is mounted, see the MyDefrag * DismountVolume action. So, to move the NTFS reserved area you have to immediately boot the computer after using MyDefrag, and even then it is not guaranteed that the NTFS reserved area will have the size and place that you want. If the MFT is not selected then the NUMBER is ignored. It is useless to combine this fileaction with other fileactions, such as "Defragment()" or "FastFill()", because it moves all the files in the zone. Another fileaction would either needlessly move files, or would destroy the sorted order of the files. Syntax PlaceNtfsSystemFiles(OPTIONS , NUMBER) The OPTIONS are a space-separated list of these keywords Ascending Descending SkipBlock The NUMBER parameter is a hint, specifying a desired size for the NTFS reserved area. Example FileSelect # Select all the NTFS system files. SelectNtfsSystemFiles(yes) FileActions # Place the NTFS system files, NTFS reserved area is 10% of the MFT. PlaceNtfsSystemFiles(Ascending,MftSize * 0.1) FileEnd See also SelectNtfsSystemFiles DismountVolume ReclaimNtfsReservedAreas AppendLogfile BatteryPower Debug Description DiskmapFlip ExcludeFiles ExcludeVolumes ExitIfTimeout FileMoveChunkSize IgnoreWrapAroundFragmentation Language MaxRunTime Message OtherInstances Pause ProcessPriority RememberUnmovables RunProgram RunScript SetColor SetFileColor SetScreenPowerSaver SetScreenSaver SetStatisticsWindowText SetVariable Slowdown StatusBar Title WhenFinished WindowSize WriteLogfile ZoomLevel SortByCreationDate Place the selected items and sort by the time they were created, from oldest to newest ("ascending") or from newest to oldest ("descending"). The creation date can be newer than the last-changed date, for example when a file was downloaded, or unpacked from an archive (such as zip or arj). This action will also defragment. It is therefore not necessary to combine it with the * Defragment action. This action will create "wrap around" fragments. For more information see the * IgnoreWrapAroundFragmentation setting. Syntax SortByCreationDate(OPTIONS) The OPTIONS are a space-separated list of these keywords Ascending Descending SkipBlock Example FileSelect .... FileActions # Sort the items by CreationDate time, most recently accesses items first. SortByCreationDate(Descending) FileEnd See also FileSelect FileBoolean FileActions SortByImportSequence Place the selected items and sort by the sequence in which they were imported ("ascending") or in reversed order ("descending"). This function is designed to be used in combination with the * ImportListFromBootOptimize or the * ImportListFromFile file boolean. This action will also defragment. It is therefore not necessary to combine it with the * Defragment action. This action will create "wrap around" fragments. For more information see the * IgnoreWrapAroundFragmentation setting. Syntax SortByImportSequence(OPTIONS) The OPTIONS are a space-separated list of these keywords Ascending Descending SkipBlock Example # Optimize the system disk for faster booting. FileSelect ImportListFromBootOptimize() FileActions SortByImportSequence(Ascending) FileEnd See also ImportListFromBootOptimize ImportListFromFile FileSelect FileBoolean FileActions SortByLastAccess Place the selected items and sort by their LastAccess time from oldest to newest ("ascending") or from newest to oldest ("descending"). Sorting by LastAccess date/time may seem like a good idea at first, but is far from perfect. The theory is that the LastAccess times will be the same on all the files that are used by an application, so sorting by LastAccess will put all the files of the application together on disk. But the LastAccess time is also updated in many other cases, not only when you run an application. In my view sorting by LastAccess can be useful in certain situations, but is essentially random and should not be used for the bulk of the data on regular disks. Sorting in "Ascending" order will put the oldest (never accessed) files at the beginning of the zone. So, the files that you use the most are placed at the end of the zone, which is a slower part of the harddisk and (usually) further away from the MFT and the directories. Sorting in "Descending" order will put the last accessed files at the beginning of the zone. So, the files that are accessed first when you start a program are placed behind files that are accessed later. Your harddisk will be working backwards. Vista by default does not update the LastAccess time. For more information see * What is "NtfsDisableLastAccessUpdate"? On FAT volumes the resolution of the LastAccess time is 1 day. NTFS delays updates to the LastAccess time by up to one hour. Some improperly programmed utilities cause a change in the LastAccess time of all items on the disk when they scan the disk. Examples are virus scanners, backup programs, text indexers. This action will also defragment. It is therefore not necessary to combine it with the * Defragment action. This action will create "wrap around" fragments. For more information see the * IgnoreWrapAroundFragmentation setting. Syntax SortByLastAccess(OPTIONS) The OPTIONS are a space-separated list of these keywords Ascending Descending SkipBlock Example FileSelect .... FileActions # Sort the items by LastAccess time, most recently accesses items first. SortByLastAccess(Descending) FileEnd See also FileSelect FileBoolean FileActions SortByLastChange Place the selected items and sort by the time they were last changed, from oldest to newest ("ascending") or from newest to oldest ("descending"). The last-changed date can be older than the creation date, for example when a file was downloaded, or unpacked from an archive (such as zip or arj). This action will also defragment. It is therefore not necessary to combine it with the * Defragment action. This action will create "wrap around" fragments. For more information see the * IgnoreWrapAroundFragmentation setting. Syntax SortByLastChange(OPTIONS) The OPTIONS are a space-separated list of these keywords Ascending Descending SkipBlock Example FileSelect .... FileActions # Sort the items by LastChange time, most recently accesses items first. SortByLastChange(Descending) FileEnd See also FileSelect FileBoolean FileActions SortByName Place the selected items and sort alphabetically by their full pathname, ascending from A to Z or descending from Z to A. Items are not just sorted by their filename (for example "explorer.exe"), but by their full pathname including all the folder names (for excample "c \windows\explorer.exe"). The result is that all items that are in the same folder are placed in a block together on disk, and inside that block they re sorted by their filename. If a file has multiple names (hard links) then the file is sorted by the first name that happens to be mentioned in the FAT/MFT. This action will also defragment. It is therefore not necessary to combine it with the * Defragment action. This action will create "wrap around" fragments. For more information see the * IgnoreWrapAroundFragmentation setting. Syntax SortByName(OPTIONS) The OPTIONS are a space-separated list of these keywords Ascending Descending SkipBlock Example FileSelect .... FileActions # Sort the items by their full path. SortByName(Ascending) FileEnd See also FileSelect FileBoolean FileActions SortByNewestDate Place the selected items and sort by creation, last access, or last change date/time, whichever is newest, from oldest to newest ("ascending") or from newest to oldest ("descending"). Sorting by newest date/time may seem like a good idea at first, but is far from perfect. The theory is that the newest date/times will be the same on all the files that are used by an application, so sorting by the newest time will put all the files of the application together on disk. But the date/times are also updated in many other cases, not only when you run an application. In my view sorting by newest date/time can be useful in certain situations, but is essentially random and should not be used for the bulk of the data on regular disks. Sorting in "Ascending" order will put the oldest files at the beginning of the zone. So, the files that you use the most are placed at the end of the zone, which is a slower part of the harddisk and (usually) further away from the MFT and the directories. Sorting in "Descending" order will put the newest files at the beginning of the zone. So, the files that are accessed first when you start a program are placed behind files that are accessed later. Your harddisk will be working backwards. The creation date can be newer than the last-changed date, for example when a file was downloaded, or unpacked from an archive (such as zip or arj). This action will also defragment. It is therefore not necessary to combine it with the * Defragment action. This action will create "wrap around" fragments. For more information see the * IgnoreWrapAroundFragmentation setting. Syntax SortByNewestDate(OPTIONS) The OPTIONS are a space-separated list of these keywords Ascending Descending SkipBlock Example FileSelect .... FileActions # Sort the items by newest time. SortByNewestDate(Descending) FileEnd See also FileSelect FileBoolean FileActions SortBySize Place the selected items and sort by size from smallest to largest ("ascending") or from largest to smallest ("descending"). This action will also defragment. It is therefore not necessary to combine it with the * Defragment action. This action will create "wrap around" fragments. For more information see the * IgnoreWrapAroundFragmentation setting. Syntax SortBySize(OPTIONS) The OPTIONS are a space-separated list of these keywords Ascending Descending SkipBlock Example FileSelect .... FileActions # Sort the items from smallest to largest. SortBySize(Ascending) FileEnd See also FileSelect FileBoolean FileActions
https://w.atwiki.jp/wnt0/pages/31.html
要素の集合を表現するオブジェクトと、その集合に含まれる要素を表現するオブジェクトを、一様に扱えるようにしてツリー構造を実現する(再帰構造) 階層の各層を別のクラスで表現すると、似たような機能を持つクラスが多数できてしまうのを解決できる 新しいグループ単位を容易に追加できる 乱用すると論理的に正しくない構造を作り出す恐れがある 循環参照に注意 http //en.wikipedia.org/wiki/Composite_pattern を c++ にしたもの #include iostream #include string #include vector #include algorithm using namespace std; // Componentclass Graphic {public virtual void print() = 0;}; // Compositeclass CompositeGraphic public Graphic {public // constructor CompositeGraphic(const string name) { mName = name; } // print void print() { cout mName endl; vector Graphic* iterator it; for (it = mChildGraphics.begin(); it != mChildGraphics.end(); ++it) { (*it)- print(); } } // add void add(Graphic *graphic) { mChildGraphics.push_back(graphic); } void remove(Graphic *graphic) { vector Graphic* iterator it; it = find(mChildGraphics.begin(), mChildGraphics.end(), graphic); if (it != mChildGraphics.end()) { delete *it; mChildGraphics.erase(it); } }private vector Graphic* mChildGraphics; string mName;}; // Leafclass Ellipse public Graphic {public // constructor Ellipse(const string name) { mName = name; } // print void print() { cout mName endl; } string mName;}; // Clientint main() { // initialize four ellipses Ellipse *ellipse1 = new Ellipse("Ellipse 1"); Ellipse *ellipse2 = new Ellipse("Ellipse 2"); Ellipse *ellipse3 = new Ellipse("Ellipse 3"); Ellipse *ellipse4 = new Ellipse("Ellipse 4"); // initialize three composite graphics CompositeGraphic *graphic = new CompositeGraphic("Graphic"); CompositeGraphic *graphic1 = new CompositeGraphic("Graphic 1"); CompositeGraphic *graphic2 = new CompositeGraphic("Graphic 2"); // Composes the graphics graphic1- add(ellipse1); graphic1- add(ellipse2); graphic1- add(ellipse3); graphic2- add(ellipse4); graphic- add(graphic1); graphic- add(graphic2); // prints the complete graphic graphic- print(); return 0;} 出力 Graphic Graphic 1 Ellipse 1 Ellipse 2 Ellipse 3 Graphic 2 Ellipse 4 http //www.dofactory.com/Patterns/PatternComposite.aspx#_self1 を c++ にしたもの (Structural Example) #include iostream #include string #include list #include algorithm using namespace std; // The Component abstract classclass Component {public // constructor Component(const string name) { _name = name; } virtual ~Component() { // delete 確認 //cout "delete " _name endl; } virtual void Add(Component *c) = 0; virtual void Remove(Component *c) = 0; virtual void Display(int depth) = 0;protected string _name;}; // The Composite classclass Composite public Component {public // constructor Composite(const string name) Component(name) { } // destructor ~Composite() { list Component* iterator it; for (it=_children.begin(); it!=_children.end(); ++it) { delete *it; } } // Add void Add(Component *component) { _children.push_back(component); } // Remove void Remove(Component *component) { list Component* iterator it; if ((it = find(_children.begin(), _children.end(), component)) != _children.end()) { delete *it; _children.erase(it); } } // Display void Display(int depth) { string str(depth, - ); cout str _name endl; // Recursively display child nodes list Component* iterator it; for (it=_children.begin(); it!=_children.end(); ++it) { (*it)- Display(depth + 2); } }private list Component* _children;}; // The Leaf classclass Leaf public Component {public // constructor Leaf(const string name) Component(name) { } // Add void Add(Component *c) { cout "Cannot add to a leaf" endl; } // Remove void Remove(Component *c) { cout "Cannot remove from a leaf" endl; } // Display void Display(int depth) { string str(depth, - ); cout str _name endl; }}; // clientint main() { // Create a tree structure Composite *root = new Composite("root"); root- Add(new Leaf("Leaf A")); root- Add(new Leaf("Leaf B")); Composite *comp = new Composite("Composite X"); comp- Add(new Leaf("Leaf XA")); comp- Add(new Leaf("Leaf XB")); root- Add(comp); root- Add(new Leaf("Leaf C")); // Add and remove a leaf Leaf *leaf = new Leaf("Leaf D"); root- Add(leaf); root- Remove(leaf); // Recursively display tree root- Display(1); delete root; return 0;} 出力 -root ---Leaf A ---Leaf B ---Composite X -----Leaf XA -----Leaf XB ---Leaf C http //www.dofactory.com/Patterns/PatternComposite.aspx#_self2 を c++ にしたもの (Real World Example) #include iostream #include string #include list #include algorithm using namespace std; // The Component Treenodeclass DrawingElement{public // constructor DrawingElement(const string name) { _name = name; } // destructor virtual ~DrawingElement() { // delete 確認 //cout "deleting " _name endl; } virtual void Add(DrawingElement *d) = 0; virtual void Remove(DrawingElement *d) = 0; virtual void Display(int indent) = 0;protected string _name;}; // The Leaf classclass PrimitiveElement public DrawingElement {public // constructor PrimitiveElement(const string name) DrawingElement(name) { } // Add void Add(DrawingElement *d) { cout "Cannot add to a PrimitiveElement" endl; } // Remove void Remove(DrawingElement *d) { cout "Cannot remove to a PrimitiveElement" endl; } // Display void Display(int indent) { string str(indent, - ); cout str " " _name endl; }}; // The Composite classclass CompositeElement public DrawingElement {public // constructor CompositeElement(const string name) DrawingElement(name) { } // destructor virtual ~CompositeElement() { list DrawingElement* iterator it; for (it=elements.begin(); it!=elements.end(); ++it) { delete (*it); } } // Add void Add(DrawingElement *d) { elements.push_back(d); } void Remove(DrawingElement *d) { list DrawingElement* iterator it; it = find(elements.begin(), elements.end(), d); if (it != elements.end()) { delete *it; elements.erase(it); } } void Display(int indent) { string str(indent, - ); cout str "+ " _name endl; list DrawingElement* iterator it; for (it=elements.begin(); it!=elements.end(); ++it) { (*it)- Display(indent + 2); } }private list DrawingElement* elements;}; // clientint main() { // Create a tree structure CompositeElement *root = new CompositeElement("Picture"); root- Add(new PrimitiveElement("Red Line")); root- Add(new PrimitiveElement("Blue Circle")); root- Add(new PrimitiveElement("Green Box")); // Create a branch CompositeElement *comp = new CompositeElement("Two Circles"); comp- Add(new PrimitiveElement("Black Circle")); comp- Add(new PrimitiveElement("White Circle")); root- Add(comp); // Add and remove a PrimitiveElement PrimitiveElement *pe = new PrimitiveElement("Yellow Line"); root- Add(pe); root- Remove(pe); // Recursively display node root- Display(1); delete root; return 0;} 出力 -+ Picture --- Red Line --- Blue Circle --- Green Box ---+ Two Circles ----- Black Circle ----- White Circle 参考サイト デザインパターンを“喩え話”で分かり易く理解する http //www.netlaputa.ne.jp/~hijk/study/oo/designpattern.html TECHSCORE http //www.techscore.com/tech/DesignPattern/index.html/ Programing Place http //www.geocities.jp/ky_webid/index_old.html デザインパターンの骸骨たち http //www002.upp.so-net.ne.jp/ys_oota/mdp/ デザインパターンの使い方 Composite http //japan.internet.com/developer/20080905/26.html
https://w.atwiki.jp/warband/pages/588.html
ui_texture_detail|Texture Detail ui_max_frame_rate|Max. Frame Rate ui_enable_bumpmap|Use Bump Mapping ui_disable_blood|Hide Blood ui_disable_music|Disable Music ui_disable_sound|Disable Sound ui_enable_cheats|Enable Cheats ui_enable_edit_mode|Enable Edit Mode (Be warned, this slows down the game.) ui_enable_pixel_shaders|Use Pixel Shaders ui_enable_sound_variation|Enable Sound Variation ui_enable_vertex_shaders|Render Method ui_shadow_quality|Shadow Quality ui_directx_7|DirectX 7 ui_directx_9|DirectX 9 ui_show_framerate|Show Framerate ui_start_windowed|Start Windowed ui_trialmode_caption|Activation ui_trialmode|Please take a moment to activate Mount Blade Warband with your serial key. Your unique, 16-digit serial key is included inside your boxed copy.\nIf you don't wish to activate the game now for any reason, you can still continue to play the game in trial mode, however you won't be able to advance past character level 8. ui_launch_buy|Buy a License from TaleWorlds.com ui_launch_faq|Activation Frequently Asked Questions ui_trialmode2|In order to activate the game now... ui_trialmode3|Or, you can also... ui_trialmode4|If you have any questions about the activation process, you can read... ui_serial_key_caption|Serial Key ui_notification_serial_input|Enter your serial key below (you can copy paste it) and click on Activate button ui_activate|Activate ui_paste|Paste ui_notification_serial_internet_connection|Activation requires an active Internet Connection! ui_notification_serial_offline|If this computer does not have access to the Internet you can also use ui_manual_activation|Manual Activation ui_offline_activation|Offline Activation ui_manual_activation_caption|Manual Activation ui_offline_activation_caption|Offline Activation ui_cancel2|Cancel ui_close|Close ui_ok2|OK ui_activation_successful|The game has been activated successfuly. ui_activation_successful2|Please keep your serial key for future reference. You may need it again in the future if you want to install Mount Blade Warband on a new computer. ui_activation_denied|Activation Denied! ui_notification_serial_already_used|Serial Key already used for another computer. You must wait for a few weeks to reactivate the game on this computer. ui_notification_unable_to_connect_to_activation_server|Unable to connect to activation server! ui_notification_unable_to_connect_to_activation_server2|Please make sure that your internet connection is active and working properly and try again. If you are using a firewall, you many need to give the game permission to access the internet. If all else fails, you may always use manual activation. ui_incorrect_serial_number|Incorrect Serial Key! ui_incorrect_hardware_hash|Incorrect Hardware Hash! ui_incorrect_activation_code|Incorrect Activation Code! ui_cant_write_to_registry|Can't Write to Registry! ui_video|Video ui_audio|Audio ui_game|Game ui_advanced|Advanced ui_mount_and_blade_is_ready|Mount Blade Warband is ready. ui_notification_trial_mode|Mount Blade Warband is currently running in Trial Mode. In this mode you can play the game freely until your character reaches level 6. To continue further, please buy a license from taleworlds.com. It takes only a minute to buy a license online and unlock the complete mode. ui_there_are_no_modules_installed|There are no modules installed! ui_notification_new_version|A newer version of Mount Blade Warband was found.\nCurrently installed version is %d.%d%d%d.\nLatest version of Mount Blade Warband is %d.%d%d%d.\nYou can download the new version from www.taleworlds.com. ui_new_version_found|New Version Found! ui_notification_unable_to_retreive_new_version|Unable to retrieve new version info. Please try again later. ui_new_version|New Version ui_notification_latest_version|The installed version of Mount Blade Warband is the most current one. ui_mount_and_blade_is_up_to_date|Mount Blade Warband is up-to-date! ui_off|Off ui_continue_playing_the_trial_mode|Continue playing in Trial Mode ui_faq_caption|FAQ ui_faq_text|Q What is activation?\r\nA The activation system is a user-friendly copy-protection method which is based on distributing a unique serial key along with each copy of the game. You need to activate the game once on every computer that you want to play the game with your serial key. After activating once, you don't need to do anything else to play such as keeping the game disc in the drive. As long as you keep your serial key, you will be able to activate and play the game easily, even after many years.\r\n\r\nQ Where can I find my serial key?\r\nA Each boxed copy of the game includes a unique serial key. Different vendors may distribute the keys in different ways, but it is typically attached to the cover of your printed manual. If you have purchased your game online, then the online vendor should supply you your serial key.\r\n\r\nQ How does the activation process work?\r\nA The game creates a hash-value from the specifications of your computer and sends it to an activation server over the internet together with your serial key. The activation server registers the serial key to your computer and responds with an activation number, which then unlocks the full mode of the game.\r\n\r\nQ Can I activate the game on multiple computers?\r\nA Yes, you can. But please remember that the game is licensed to you for your own personal use. The activation server may reject a serial key temporarily if it is used on too many computers in a short period of time. \r\n\r\nQ The program stops to respond after I click on the activate button.\r\nA Sometimes it may take up to half a minute to carry out the activation process. Be patient, the game will eventually report the result.\r\n\r\nQ My computer does not have access to the internet. How can I activate the game?\r\nA In this case you may use manual activation. Just click on "Enter Your Serial Key", and then "Manual Activation" buttons. You will still need to open up the manual activation web-page from another computer that is linked to the internet.\r\n ui_auto_adjust|Auto Adjust ui_screen_size|Screen Resolution ui_antialiasing|Antialiasing ui_use_desktop_resolution|Use Desktop Resolution ui_play|Play Mount Blade Warband ui_check_for_new_version|Check For New Version ui_configure|Configure ui_configure_caption|Configure ui_mountandblade_website|Mount Blade Warband Website ui_current_setting| Current Module ui_manual_activation_text1|1) In your web browser, open the following address ui_manual_activation_text2|2) In the webpage that opens enter your serial key... ui_manual_activation_text3|3) ...and this machine's hardware hash ui_manual_activation_text4|4) The page will then give you an activation code. Enter or paste it below and click OK. ui_activation_code|Activation Code ui_force_vsync|Force Vertical Sync. ui_module_newer_than_application|The module you selected has been specified NOT TO WORK with the current version of the game. You are strongly advised not to run this setting. To remedy this, you may try checking for a newer version of the game. ui_module_older_than_application|The module you selected has been created for an older version of the game and may not work with the current version of the game. You may go ahead and try running it but there is a chance that you will run into difficulties. To remedy this, you may check if a newer version of the module is available. ui_m_low|Low ui_m_high|High ui_m_ultra_high|Ultra High ui_force_single_threading|Force Single Threading ui_not_enough_memory|It seems that you currently have %d MB of available total physical and virtual memory. Mount Blade Warband requires at least 700 MB of available memory in order to run without a problem. If Mount Blade Warband continuously crashes during your play, please close some of your programs before starting Mount Blade Warband or increase your virtual memory from Control Panel - System menu. ui_install|Install Mount Blade Warband DirectXText|"Mount Blade Warband requires DirectX 9.0c or above to run. This computer does not meet the requirement. To fix the problem you need to download and install the latest version of DirectX from Microsoft's website. Would you like to visit TaleWorlds DirectX Download page now?" NoMountAndBladeText|"Mount Blade Warband has not been installed on this computer. Please download the full installer from www.taleworlds.com and use it to install the game." ui_SavegamesText|"Do you want to keep your save files?" ui_trialmode_online|Mount Blade Warband is currently running in Trial Mode. In this mode you can play the game freely until your character reaches level 7. To continue further, you need to enter a serial key and activate the game. If you have already purchased the game, please enter your serial key now. If not you may easily purchase the game from Taleworlds.com. It takes only a minute to buy a license online and unlock the complete mode. ui_launch_activate|Enter Your Serial Key ui_trialmode2_online|After buying a license, you will obtain your serial key.\nTo unlock the full mode just proceed to... ui_trialmode3_online|Or, if you don't wish to purchase the game yet you can also... ui_trialmode4_online|Our online sales process is fully secure and we greatly respect our customers' rights to security, privacy, having backup copies of their game and upgrading their computers/hardware. If you'd like to learn more about our sales policy, please take a look at ui_ondemand_textures|Load Textures On Demand ui_language|Language ui_steam_not_running|Steam could not be initialized properly. Steam must be running to play this game. ui_switch_to_turkish_explanation|Oyunun dilini Turkce'ye cevirmek ister misiniz? ui_switch_to_turkish_yes|Evet ui_switch_to_turkish_no|Hayir ui_new_version_message|A newer version of the game is available. Do you wish to visit the download page now? ui_enable_version_check|Enable Version Check ui_disable|Disable ui_yes2|Yes ui_no2|No ui_new_version_message2|A newer version of the game is available. Please visit the online portal you purchased the game from to download the new version.
https://w.atwiki.jp/sally0/pages/17.html
Buying a leather laptop sleeve is one of the best purchases you can make for your laptop. Not only does it keep the laptop protected from both the bumps and dings of transport and storage, but it also looks amazing, keeps the laptop dry, is compact and easy to carry, and is multi-functional. But there are things you need to know before buying just any leather laptop sleeve. Not all sleeves are created equal, and neither is all leather. At Custom Logo Cases we make it our mission to create the best leather laptop sleeves available, customized to your specifications, for a good price. What Are the Benefits of a Leather Laptop Sleeve? A leather laptop sleeve has many benefits, not the least of which is that it’s a very attractive way to transport a laptop. There’s more to it than that, but we’ll get to the look of the leather laptop sleeve a little later. For starters, let’s look at what the leather laptop sleeve does. A Leather Laptop Sleeve is Multifunctional A leather laptop sleeve does more than just carry a laptop, and more than just keep a laptop safe and protected from dents, dings, and from the weather. For example the Leather Stand Laptop Sleeve is more than just a carrying case, but it actually is a support for your laptop to make it easier for you to type and work. It turns a simple sleeve into a workstation that is accessible wherever you go, and can be used in the coffee shop, the boardroom, the train, or virtually anywhere else. The laptop riser lifts your laptop up on an angle to make it more ergonomic and better design own phone case for your fingers, arms and nerves. The leather laptop sleeves come in a variety of styles that can be opened in different ways, each of which is useful in its own way, and each of which will fit a certain lifestyle. The Leather Zip Laptop Sleeve is, as the name suggests, a laptop sleeve with a zipper. This will keep your laptop safe and secure and completely sealed in its leather sleeve. On the other hand, if you want a laptop that looks a little more sophisticated than a zipper-top laptop sleeve then perhaps the Leather Flap Laptop Sleeve is more up your alley, as it gives off an appearance that resembles more of a slim messenger bag, or a fine accessory. Someone who sees it may not expect it to be a laptop inside at all, but more of the documents that one would keep in a briefcase or a portfolio. These Leather Flap Laptop Sleeves can be Pantone matched in color, but are often more used in the natural colors of the leather, cheap phone replacement parts giving them a sophisticated and professional look. A Leather Laptop Sleeve Offers Complete Protection The construction of the leather laptop sleeve, in any of the tree varieties are all made from durable premium PU leather. PU leather is a polyurethane leather, an artificial leather made from a thermoplastic polymer and is most often found in shoes and furniture. It is 100% artificial and is considered vegan–which is an environmentally-friendly bonus! Because it is made from this sturdy PU leather it can withstand the effects of weather more than traditional leather–it won’t warp or discolor when wet, so if you get caught in a rainstorm for a moment you don’t need to worry about your leather laptop sleeve being damaged. It also has an interior foam layer covered with a felt lining, making sure that your laptop in the sleeve will slide in and out freely and scratch-free. You will never need to worry about your laptop getting dings and dents from everyday use while ensconced in the leather laptop sleeve. Plus, being in the sleeve will keep your laptop free from any dirt or grime phone replacement parts that it might otherwise gather. What To Know About Leather Laptop Sleeves’ Construction Just as we do with our neoprene laptop sleeves, we take extra special care in the manufacturing of all our laptop sleeves. Everything from the die-cut process to the stitching to the zippers to structure is all done with the same care that you would expect from a high-end retailer. We know that our name is on the line, and we make sure that every leather laptop sleeve that we create meets our rigorous standards. When it comes to colors, we understand that we are taking your brand in our hands, and we are determined to make you look good to all of the customers, students, and employees to whom you will be giving these custom laptop sleeves to. To this end, we will Pantone match the color that you need to meet your brand guidelines, and with our leather laptop sleeves we have the option of either printing your logo and design directly onto the leather, or we even offer embossing something not available with our neoprene sleeves to make your leather laptop sleeve all the more attractive and professional nokia replacement parts. Conclusion When it comes to purchasing leather laptop sleeves, whether you’re buying them for your students to use around school, or for your employees to use around the office, or as gifts for your customers, you can know that the name of the game is quality. We make our leather laptop sleeves to last, and we stand behind them. From design and function to manufacturing, every part of the process of developing a leather laptop sleeve from Custom Logo Cases is perfection.
https://w.atwiki.jp/mamatumo/pages/21.html
Spring Framework [#v6494139] パッケージ概要 [#n38a2ed0] パッケージ 概要 org.springframework.aop AOP関連 org.springframework.beans Bean管理(BeanFactory)関連 org.springframework.context ApplicationContext関連 org.springframework.core 例外・IO処理関連 org.springframework.dao データアクセス例外・Daoサポート関連 org.springframework.ejb EJBアクセス関連 org.springframework.jdbc JDBC高レベル抽象化FW org.springframework.mail メール送信支援 org.springframework.metadata ソースレベルメタ属性関連 org.springframework.orm O/Rマッピング関連 org.springframework.remoting JAX-RPC/RMIのサポート関連 org.springframework.sheduling タイマー処理支援 org.springframework.transaction トランザクション管理関連 org.springframework.ui UI管理・Freemaker/Velocity支援 org.springframework.util 各種ユーティリティ org.springframework.validation Beans検証機能 org.springframework.web MVC機能・サーブレット・フィルタなど 肝 [#vfc7ec6b] DI [#v0702195] Factory BeanFacotry:Bean生成 ApplicationContext:Bean生成・メッセージ国際化・イベント通知機構・複数コンテキスト(複数Bean定義)の利用 BeanFactory/ApplicatonContextをSingletonで生成する。→ DIコンテナ混在時の不整合を避ける。 SingletonBeanFactoryLocator/ContextSingletonBeanFactoryLocatorを使用する Bean(POJO) 生成時・破棄時に、それぞれInitializingBean・DisposableBeanインターフェースを使用しコールバック可能だが、Springに依存させたくない場合はBean定義のinit-method/destroy-methodを使用する JDBC抽象化 [#n08f68a3] core:JdbcTemplate・各種コールバックインターフェース datasource:DataSource関連・Utils object:Query/Update処理のオブジェクト化。DBから切断して操作可 support:JDBCの例外の抽象化+各DBへのエラーコード翻訳 トランザクション [#ad991943] プログラマブル 宣言的 例 JDBCを使用したプログラムブルトラン JTAを使用したプログラムブルトラン AOP [#vbfd7007] AOPの用語 用語 概要 Aspect 横断的関心事:Crosscutting Concernをモジュール化したもの。SpringではAdvisor/Interceptorとして実装。 Joinpoint メソッド起動・例外スローなどのプログラム上のあるポイント。 Advice AOPフレームワークにより特定のジョインポイントで実行されるアクション。 Pointcut あるアドバイスがいつ起動するかを指定するジョインポイントの集合。 Introduction メソッド・フィールドをアドバイスされるクラスに追加すること。 Target Object Advice・プロキシされるジョインポイントを持つオブジェクト AOPプロキシ AOPフレームワークにより生成されたAdviceを持つオブジェクト。 Weaving ターゲットをAspectを組み合わせること。Springでは実行時にWeavingされる。 ポイントカット public interface Pointcut { //クラスにマッチング ClassFilter getClassFilter(); //メソッドにマッチング MethodMatcher getMethodMatcher(); } 静的ポイントカット:メソッドの引数に関しては考慮しない RegexpMethodPointCutクラス RegexpMethodPointCutAdvisorクラス(含アドバイス) 属性駆動ポイントカット:ソースレベルメタデータを使う静的ポイントカット→Manual#8 動的ポイントカット:メソッドの引数も考慮する ControlFlowPointcut アドバイス 種類 インターフェース Around Advice MethodInterceptor Before Advice MethodBeforeAdvice Throws Advice ThrowsAdvice After Return Advice AfterReturningAdvice Introduction Advice IntroductionInterceptor アドバイザ ポイントカットをアドバイスを含んだ、アスペクトをモジュール化したもの DefaultPointcutAdvisorクラスなど。 Springでは、同じAOPプロキシでアドバイスとアドバイザを両方使用することも可能。 Weaving方法:Springでは、DIコンテナとAOPを組み合わせることでWeavingを実現。 ProxyFactoryBeanを使用した明示的なAOPプロキシの取得。明示的に1つ1つのAOPプロキシを明記する インターフェースをプロキシ:JDKのDynamicプロキシを使用。 クラスをプロキシ:CGLIBを使用。動的なサブクラス生成をするためfinalメソッドのプロキシは不可。 例:PoJoBeanをターゲットにしてトランザクション機能を付加する AutoProxy BeanNameAutoProxyCreator:リテラルやワイルドカードにマッチした名前のBeanに対しAOPプロキシを自動生成。 DefaultAdvisorAutoProxyCreator:Advisorを定義することで、ポイントカットにマッチするBeanに対し、AOPプロキシを自動生成。 メタデータ駆動自動Proxy:ソースレベルメタデータで指定する。要Commons Attributesでのコンパイル? 使ってみた印象 [#v78340fd] まんず、AOPのAutoProxyがうまく動かない。 チェック例外に対しての嫌悪感はかなりのもの JDBCの例外の抽象化はヨイ Bean定義ファイルはS2と比べて冗長になりがち。 Link [#nc9f24c7] http //www.springframework.org/ http //www.andore.com/money/trans/spring_ref_ja.html http //www.andore.com/money/trans/spring_ja.html http //www.techscore.com/tech/Java/Spring/1.html http //hamasyou.com/archives/SpringFramework.php#more
https://w.atwiki.jp/mainichi-matome/pages/1820.html
JDorama.com http //www.jdorama.com/ ドメイン管理者の国はシンガポール Q:誰がウェブサイトを所有しているか? A:シンガポールの日本のドラマ愛好家。 Kegareta Shita [汚れた舌] 部分転載:http //www.jdorama.com/drama.936.htm "Naoko s Filthy Tongue has fans licking lips" Yu Yamada gets leg over actor Shun Oguri to get leg up in career http //www.jdorama.com/viewtopic.php?p=766917#766917 The Nakamura-Takeuchi split she gets the kid, alimony and a new career, he gets hosed 部分転載:http //www.jdorama.com/viewtopic.php?p=748428#748428 Sexy thespian Tomoko Yamaguchi uses booby trap to snare audience for TV show http //www.jdorama.com/viewtopic.php?p=727787#727787 Offbeat panty bar offers uninhibited lust with the improper stranger http //www.jdorama.com/viewtopic.php?p=695445#695445 How low can they go? Pseudo pedo-porn peddlers loll in lascivious limbo http //www.jdorama.com/viewtopic.php?p=682741#682741 Sulky Erika Sawajiri not quite big enough to pull off prima donna pouting http //www.jdorama.com/viewtopic.php?p=681841#681841 Catfights common as females fiercely flay one other in the workplace http //www.jdorama.com/viewtopic.php?p=674719#674719 Latest Akihabara geek fetish? One-eyed virginal maid mummies http //www.jdorama.com/viewtopic.php?p=668311#668311 Kumi Koda Masahiro Nakai getting intimate while SMAP and Avex just flirt http //www.jdorama.com/viewtopic.php?p=668297#668297 Queen of the cover girls asked to turn over a new leaf http //www.jdorama.com/viewtopic.php?p=665191#665191 Stressed teachers indulging their wild sides with coworkers, parents -- and students http //www.jdorama.com/viewtopic.php?p=656423#656423 Egos, abortion or mutts -- what caused the Ayu-Nagase split? http //www.jdorama.com/viewtopic.php?p=654386#654386 Train Cafe takes hands-on approach in fight against molesting http //www.jdorama.com/viewtopic.php?p=653907#653907 Money burning a hole in your pocket? Learn how to flash the cash, Hamasaki-style http //www.jdorama.com/viewtopic.php?p=624491#624491 Koyuki set to return after agency agonies kick her out of the spotlight http //www.jdorama.com/viewtopic.php?p=616856#616856 Seafood fanatics forget fugu you ve a new poison to pick http //www.jdorama.com/viewtopic.php?p=545719#545719 Tell-all actress blasts Japanese showbiz world http //www.jdorama.com/viewtopic.php?p=539736#539736 Train Cafe takes hands-on approach in fight against molesting http //www.jdorama.com/viewtopic.php?p=514919#514919 Supermodel suffers slings and arrows of outrageous fortune http //www.jdorama.com/viewtopic.php?p=514591#514591 Pesky perverts pry on otaku s dolled-up maids http //www.jdorama.com/viewtopic.php?p=515120#515120 English teaching DVDs get low down and dirty http //www.jdorama.com/viewtopic.php?p=509986#509986 Top baseball commentator the latest to strike out in NTVs string of sex scandals http //www.jdorama.com/viewtopic.php?p=490833#490833 Train Cafe takes hands-on approach in fight against molesting http //www.jdorama.com/viewtopic.php?p=487938#487938 Yumiko Shaku s romantic dreams exposed by legendarily leaky lover http //www.jdorama.com/viewtopic.php?p=449401#449401 One, two, poo in your shoe; three, four, wee on the floor http //www.jdorama.com/viewtopic.php?p=449092#449092 Good girl pays the price for being naughty instead of nice http //www.jdorama.com/viewtopic.php?p=440187#440187 Hand jiving pro-wrestler Koriki is the foul face of new cute http //www.jdorama.com/viewtopic.php?p=439126#439126 Sex workers on the ball with World Cup fever http //www.jdorama.com/viewtopic.php?p=420100#420100 Fallen Horiemon s new digs -- 3 tatami mats with bento and butt service 部分転載:http //www.jdorama.com/viewtopic.php?p=363876#363876 Pop-culture vultures spy cracks in famous family unit http //www.jdorama.com/viewtopic.php?p=353222#353222 Memoirs of a cocksure Kyoto rickshaw runner http //www.jdorama.com/viewtopic.php?p=339494#339494 Norika gets Octopussy-whipped over her Bond-age fantasy http //www.jdorama.com/viewtopic.php?p=337494#337494 TV dramas inspire privileged princesses to dress up lives as nightclub hostesses http //www.jdorama.com/viewtopic.php?p=323420#323420 Butchered kisses give man-eating Yuko taste of success http //www.jdorama.com/viewtopic.php?p=314689#314689 Fresh-faced drama queen told to act her age http //www.jdorama.com/viewtopic.php?p=312603#312603 Mobile phones making a monkey out of Japanese http //www.jdorama.com/viewtopic.php?p=310820#310820 From past beauty to buddy pregnancy, changes transform Japanese ladies lexicons 部分転載:http //www.jdorama.com/viewtopic.php?p=306291#306291 Gal geeks jump aboard hip to be square boom http //www.jdorama.com/viewtopic.php?p=271017#271017 Sweaty, smelly, cramped commuters squashed into state of rail rage http //www.jdorama.com/viewtopic.php?p=268288#268288 Bold women bathers spring the trapdoor of love http //www.jdorama.com/viewtopic.php?p=215808#215808 Guitar-wielding boyfriend strums Takako s chord http //www.jdorama.com/viewtopic.php?p=171495#171495 Naoko s Filthy Tongue has fans licking lips 部分転載:http //www.jdorama.com/viewtopic.php?p=163607#163607 Chocolate-flavored potato chips not hard to swallow http //www.jdorama.com/viewtopic.php?p=128715#128715 Kimutaku canned for walking tall at Cannes http //www.jdorama.com/viewtopic.php?p=99350#99350 Newborn won t stop rebirth of Ryoko s TV career http //www.jdorama.com/viewtopic.php?p=84557#84557 Ripe-figured Kyoka appears ready to bare fruit http //www.jdorama.com/viewtopic.php?p=72286#72286 Hirosue Ryoko shoots self in foot with shotgun wedding http //www.jdorama.com/viewtopic.php?p=42339#42339 関連ページ Catfights common as females fiercely flay one other in the workplace English teaching DVDs get low down and dirty Good girl pays the price for being naughty instead of nice How low can they go? Pseudo pedo-porn peddlers loll in lascivious limbo Latest Akihabara geek fetish? One-eyed virginal maid mummies Offbeat 'panty bar' offers uninhibited lust with the improper stranger One, Two, Poo in Your Shoe; Three, Four, Wee on the Floor Pesky perverts pry on otaku's dolled-up maids Sex workers on the ball with World Cup fever Stressed teachers indulging their wild sides with coworkers, parents -- and Top baseball commentator the latest to strike out in NTVs string of sex scandals WaiWaiの記事を転載した英語サイト:J 毎日新聞謝罪記事の問題点
https://w.atwiki.jp/amazonapp/pages/136.html
Amazing Alex Premium [429] Client error `POST https //webservices.amazon.co.jp/paapi5/getitems` resulted in a `429 Too Many Requests` response { __type com.amazon.paapi5#TooManyRequestsException , Errors [{ Code TooManyRequests , Message The request was de (truncated...) 期間 2015/4/16 コメント 名前